www.gusucode.com > 基于Visual C++高级界面特效制作百例源码程序 > 基于Visual C++高级界面特效制作百例源码程序/code/char25/TemplateMFC/TemplateMFC.cpp

    // TemplateMFC.cpp : Defines the class behaviors for the application.
//

#include "stdafx.h"
#include "TemplateMFC.h"
#include "TemplateMFCDlg.h"
#include "CategoryTest.h"

#include "ComCatInformation.hpp"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

using JetByteTools::CIterateCATEGORYINFO;
using JetByteTools::CComCatInformation;
using JetByteTools::CWin32Exception;

/////////////////////////////////////////////////////////////////////////////
// CTemplateMFCApp

BEGIN_MESSAGE_MAP(CTemplateMFCApp, CWinApp)
	//{{AFX_MSG_MAP(CTemplateMFCApp)
		// NOTE - the ClassWizard will add and remove mapping macros here.
		//    DO NOT EDIT what you see in these blocks of generated code!
	//}}AFX_MSG
	ON_COMMAND(ID_HELP, CWinApp::OnHelp)
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CTemplateMFCApp construction

CTemplateMFCApp::CTemplateMFCApp()
{
	// TODO: add construction code here,
	// Place all significant initialization in InitInstance
}

/////////////////////////////////////////////////////////////////////////////
// The one and only CTemplateMFCApp object

CTemplateMFCApp theApp;

/////////////////////////////////////////////////////////////////////////////
// CTemplateMFCApp initialization

BOOL CTemplateMFCApp::InitInstance()
{
	// Standard initialization
	// If you are not using these features and wish to reduce the size
	//  of your final executable, you should remove from the following
	//  the specific initialization routines you do not need.

#ifdef _AFXDLL
	Enable3dControls();			// Call this when using MFC in a shared DLL
#else
	Enable3dControlsStatic();	// Call this when linking to MFC statically
#endif

	try 
	{
		CComCatInformation catMgr;

		CIterateCATEGORYINFO it = catMgr.IterateCategories();

		CategoryTest dlg(it);

		m_pMainWnd = &dlg;
		int nResponse = dlg.DoModal();
		if (nResponse == IDOK)
		{
			// TODO: Place code here to handle when the dialog is
			//  dismissed with OK
		}
		else if (nResponse == IDCANCEL)
		{
			// TODO: Place code here to handle when the dialog is
			//  dismissed with Cancel
		}
	}
	catch(CWin32Exception &e)
	{
		e.MessageBox();
	}

	// Since the dialog has been closed, return FALSE so that we exit the
	//  application, rather than start the application's message pump.
	return FALSE;
}